package demo2;

/**
 * Description:
 * Date: 2025-10-15
 * Time: 20:31
 */
//接口的定义：用interface修饰，一般以大写字母I开头
public interface IRunnig {
    //1.接口中的每一个方法都是public abstract修饰的抽象方法(没有具体的实现)
    //这两个方法的修饰符实际上是一样的，就算你不写，编译器也是会默认public abstract修饰的
    /*void test1();
    public abstract void test2();
*/
    //2.接口中的每一个成员变量都是public static final修饰的
    //这两个成员变量的修饰符是一样的，就算你不写，编译器也是会默认public static final修饰的
    int a = 10;
    public static final int b = 100;

    //3.接口中的方法被default修饰时，可以有具体的实现,此时没有被abstract修饰
    default void test3() {
        System.out.println("default修饰的成员方法...");
    }

    //4.接口中的方法被static修饰时，可以有具体的实现，此时没有被abstract修饰
    static void test4() {
        System.out.println("static修饰的成员方法...");
    }

    //5.接口时不能进行实例化对象的，比抽象类还抽象
    //IRunnig I_RUNNIG = new IRuning()://error,编译错误

    //6.若实现接口而不想重写接口中的方法，则可以使用abstract修饰称抽象类

    void iRunnig();

}
